<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>get_option: common_schema documentation</title>
	<meta name="description" content="get_option: common_schema" />
	<meta name="keywords" content="get_option: common_schema" />
	<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>

<body>
	<div id="main">
		<div id="header">
			<h1>common_schema</h1> <strong>2.2</strong> documentation
			<div class="subtitle">DBA's framework for MySQL</div>
		</div>
		<div id="contentwrapper">
			<div id="content">
				<h2><a href="get_option.html">get_option</a></h2>	
<h3>NAME</h3>
get_option(): Extract value from options dictionary based on key
<h3>TYPE</h3>
Function

<h3>DESCRIPTION</h3>
<p>
	<i>get_option()</i> accepts a simple dictionary and a key, and extract the value which
	maps to give nkey within the dictionary.
</p>
<p>
	The dictionary is similar in format to Python's dictionary or to JavaScript's shallow 
	JSON object.
	For example, consider the following:
	<blockquote><pre>{name: "Wallace", num_children: 0, "pet": Gromit}</pre></blockquote>
	In the above there are three entries, each with key and value. Either key or value
	can be quoted, but mostly do not have to be. Quotes are essential when the characters 
	"," or ";" appear within name or value.
</p>
<p>
	Everything is considered to be a string, even if a number is provided. Key and value may
	consist of any character, and neither are limited to alphanumeric values. They may
	contain spaces, though these are best used within quotes.
</p>
<p>
	The dictionary cannot have sub-dictionaries. Any such values are treated as text.
</p>
<p>
	There may be multiple entries for the same key, in which case <i>get_option()</i>
	returns the <i>first</i> one defined. When a key does not exist the function returns <strong>NULL</strong>.
	The value <strong>NULL</strong>, when not quoted, is interpreted as the SQL <strong>NULL</strong> value.
</p>
<p>
	Upon error (e.g. incorrect dictionary definition) the function returns <strong>NULL</strong>.
</p>

<h3>SYNOPSIS</h3>
<p>
<blockquote><pre>get_option(options TEXT CHARSET utf8, key_name VARCHAR(255) CHARSET utf8) 
  RETURNS TEXT CHARSET utf8</pre></blockquote>
</p>
<p>
  Input:
  <ul>
    <li><strong>options</strong>: a dictionary, in Python-style format (see examples following)
	</li>
    <li><strong>key_name</strong>: entry to look for within the dictionary.
	</li>
  </ul>
</p>

<h3>EXAMPLES</h3>
<p>Get an existing value:</p>
<blockquote><pre>mysql&gt; SELECT get_option('{name: "Wallace", num_children: 0, "pet": Gromit}', 'pet') AS result;
+--------+
| result |
+--------+
| Gromit |
+--------+
</pre></blockquote>

<p>Attempt to read an unmapped value:</p>
<blockquote><pre>mysql&gt; SELECT get_option('{name: "Wallace", num_children: 0, "pet": Gromit}', 'wife') AS result;
+--------+
| result |
+--------+
| NULL   |
+--------+
</pre></blockquote>

<h3>ENVIRONMENT</h3>
MySQL 5.1 or newer

<h3>SEE ALSO</h3>
<a href="split_token.html">split_token()</a>

<h3>AUTHOR</h3>
Shlomi Noach
				<br/>
			</div>
			<div id="sidebarwrapper">
				<div id="search">
					Search online documentation
					<form id="search_form" name="search_form" method="GET" 
						action="http://www.google.com/search" 
						onsubmit="document.forms['search_form']['q'].value = 'site:http://common-schema.googlecode.com/svn/trunk/common_schema/doc/html/ '+document.forms['search_form']['search_term'].value;">
						<input type="text" name="search_term" value=""/>
						<input type="hidden" name="q" value=""/>
						<input type="submit" value="go"/>						
					</form>
				</div>
				<div id="menu">
					<ul>
						<li><a title="Introduction" href="introduction.html">Introduction</a></li>
						<li><a title="Documentation" href="documentation.html">Documentation</a></li>
						<li><a title="Download" href="download.html">Download</a></li>
						<li><a title="Install" href="install.html">Install</a></li>
						<li><a title="Risks" href="risks.html">Risks</a></li>
					</ul>						
					<h3>QUERY SCRIPT</h3>
					<ul>
						<li><a title="QueryScript" href="query_script.html">QueryScript</a></li>
						<li><a title="Execution" href="query_script_execution.html">Execution</a></li>
						<li><a title="Flow control" href="query_script_flow_control.html">Flow control</a></li>
						<li><a title="Statements" href="query_script_statements.html">Statements</a></li>
						<li><a title="Expressions" href="query_script_expressions.html">Expressions</a></li>
						<li><a title="Variables" href="query_script_variables.html">Variables</a></li>
					</ul>						
					<h3>DEBUG</h3>
					<ul>
						<li><a title="rdebug" href="rdebug.html">rdebug</a></li>
						<li><a title="rdebug API" href="rdebug_api.html">rdebug API</a></li>
						<li><a title="rdebug workflow" href="rdebug_workflow.html">Workflow</a></li>
					</ul>						
					<h3>ROUTINES</h3>
					<ul>
						<li><a title="Execution &amp; flow control" href="execution_routines.html">Execution & flow control</a></li>
						<li><a title="General" href="general_routines.html">General</a></li>
						<li><a title="Process" href="process_routines.html">Process</a></li>
						<li><a title="Query analysis" href="query_analysis_routines.html">Query analysis</a></li>
						<li><a title="Schema analysis" href="schema_analysis_routines.html">Schema analysis</a></li>
						<li><a title="Security" href="security_routines.html">Security</a></li>
						<li><a title="Text" href="text_routines.html">Text</a></li>
						<li><a title="Time &amp; date" href="temporal_routines.html">Time & date</a></li>
						<li><a title="Charting" href="charting_routines.html">Charting</a></li>
					</ul>
					<h3>VIEWS</h3>
					<ul>
						<li><a title="Schema analysis" href="schema_analysis_views.html">Schema analysis</a></li>
						<li><a title="Data dimension" href="data_dimension_views.html">Data dimension</a></li>
						<li><a title="Process" href="process_views.html">Process</a></li>
						<li><a title="Security" href="security_views.html">Security</a></li>
						<li><a title="Monitoring" href="monitoring_views.html">Monitoring</a></li>
						<li><a title="InnoDB Plugin" href="innodb_plugin_views.html">InnoDB Plugin</a></li>
						<li><a title="Percona server" href="percona_server_views.html">Percona Server</a></li>
						<li><a title="TokuDB" href="tokudb_views.html">TokuDB</a></li>
					</ul>						
					<h3>DATA</h3>
					<ul>
						<li><a title="tables" href="tables.html">Tables</a></li>
						<li><a title="variables" href="variables.html">Variables</a></li>
					</ul>						
					<h3>META</h3>
					<ul>
						<li><a title="Help" href="help.html">help</a></li>
						<li><a title="Metadata" href="metadata.html">metadata</a></li>
						<li><a title="status" href="status.html">status</a></li>
					</ul>						
				</div>
			</div>	
			<div class="clear">&nbsp;</div>
			
			<div id="footnote" align="center">
				<a href="">common_schema</a> documentation
			</div>
		</div>
	</div>
</body>
</html>
